#define _CRT_SECURE_NO_WARNINGS
//作者：宋安康
#include<bits/stdc++.h>
using namespace std;
//搜索

//DFS剪枝
//就是将搜索过程不必要的部分直接剔除掉
//
//const int N = 15;
//int a[N], n;
//vector<int> v[N];
//bool dfs(int cnt,int dep) 
//{
//	if (dep  == n+ 1 )
//	{
//		//检查合法性
//		for (int i = 1; i <cnt; i++)
//		{
//			for (int j = 0;j < v[i].size();j++)
//			{
//				for (int k = j +1; k < v[i].size(); k++)
//				{
//					if (j == k)continue;
//					if (v[i][k] % v[i][j] == 0)
//					{
//						return false;
//					}
//				}
//			}
//		}
//	}
//	for (int i = 1; i <= cnt; i++)
//	{
//		v[i].push_back(a[dep]);
//		if (dfs(cnt,dep+1))
//		{
//			return true;
//		}
//		v[i].pop_back();
//		return false;
//
//	}
//}
//int main() 
//{
//	cin >> n;
//	for (int i = 1; i <= n; i++)
//	{
//		cin >> a[i];
//	}
//	sort(a+1,a+n+1);
//	for (int i = 1; i <= n; i++)
//	{
//		if (dfs(i,1))
//		{
//			cout << i << '\n';
//			break;
//		}
//	}
//	cout << " hello 4.10" << endl;
//	return 0;
//}

//回溯法
//一般使用DFS（深度优先搜索）实现
//const int N = 15;
//using ll = long long;
//int n,ans;
//int vis[N][N];
//void dfs(int dep) 
//{
//	if (dep == n+1)
//	{
//		ans++;
//		return 0;
//	}
//	for (int i = 1; i <= n; i++)
//	{
//		if (vis[dep][i])
//		{
//			continue;
//		}
//		for (int _i =1; _i <= n; _i++)
//		{
//			vis[_i][i]++;
//
//		}
//		//修改状态
//		for (int _i = dep,_j= i; _i >= 1&&_j >= 1; _i--,_j--)
//		{
//			vis[_i][_j]++;
//		}	
//		for (int _i = dep, _j = i; _i <= n && _j >= 1; _i++, _j--)
//		{
//			vis[_i][_j]++;
//		}	
//		for (int _i = dep, _j = i; _i >= 1 && _j <= n; _i--, _j++)
//		{
//			vis[_i][_j]++;
//		}	
//		for (int _i = dep, _j = i; _i <= n  && _j <= n; _i++, _j++)
//		{
//			vis[_i][_j]++;
//		}
//
//		//恢复现场
//		dfs(dep+ 1);
//		for (int _i = dep, _j = i; _i >= 1 && _j >= 1; _i--, _j--)
//		{
//			vis[_i][_j]++;
//		}
//		for (int _i = dep, _j = i; _i <= n && _j >= 1; _i++, _j--)
//		{
//			vis[_i][_j]++;
//		}
//		for (int _i = dep, _j = i; _i >= 1 && _j <= n; _i--, _j++)
//		{
//			vis[_i][_j]++;
//		}
//		for (int _i = dep, _j = i; _i <= n && _j <= n; _i++, _j++)
//		{
//			vis[_i][_j]++;
//		}
//	}
//}
//
//int main() 
//{
//	cin >> n;
//	dfs(1);
//	cout << ans << endl;
//
//	return 0;
//}

//记忆化
//搜索过程中辉重复计算且结果相同的部分保存下来，作为一个状态
//通常使用数组或者map来记忆化
//const long long p = 1e9 + 7;
//
////long long dp[N];
//long long f(int n) 
//{
//	if (n<= 2)
//	{
//		return 1;
//	}
//	return (f(n - 1) + f(n - 2)) % p;
//
//}
//int main() 
//{
//	int n;
//	cin >> n;
//	cout << f(n) << endl;
//	return 0;
//}

int main() 
{

	cout << "hello " << endl;

	return 0;
}